查看原文
其他

信息化项目示例-关于地图理论知识及坐标转换等操作问题

张金龙1992 地质掘墓人 2022-12-04

这篇文章讲什么

这篇文章继续讲项目开展前的工作准备

重点是基于GIS的坐标转换

内容稍微复杂些

为了便于大家对本篇文章的理解

采用结构化方式讲述


看完能了解什么

对地理坐标系、投影坐标系以及一些测量学等基础会有更多的认知

全文分以下部分


(一)地理坐标系

地理坐标系是使用三维球面来定义地球表面位置

以实现通过经纬度对地球表面点位引用的坐标系

地理坐标系包括角度测量单位、本初子午线和参考椭球体三部分

为了更精确的描述地球

我们引入三个概念,“大地水准面”、“地球椭球体”、“大地基准面”

首先引入大地水准面的概念

大家都知道地球的自然表面有高山也有洼地

是崎岖不平的,我们要使用数学法则来描述他

就必须找到一个相对规则的数学面

大地水准面是地球表面的第一级逼近

假设当海水处于完全静止的平衡状态时

从海平面延伸到所有大陆下部

而与地球重力方向处处正交的一个连续、闭合的曲面

这就是大地水准面

再来引入第二个概念地球椭球体

大地水准面可以近似成一个规则成椭球体,但并不是完全规则

其形状接近一个扁率极小的椭圆绕短轴旋转所形成的规则椭球体

这个椭球体称为地球椭球体。它是地球的第二级逼近

最后一个概念大地基准面

确定了一个规则的椭球表面以后

我们会发现还有一个问题

参考椭球体是对地球的抽象,因此其并不能去地球表面完全重合

在设置参考椭球体的时候必然会出现有的地方贴近的好

(参考椭球体与地球表面位置接近),有地地方贴近的不好的问题

因此这里还需要一个大地基准面来控制参考椭球和地球的相对位置

这是地球表面的第三级逼近

有以下两类基准面:

地心基准面:由卫星数据得到,使用地球的质心作为原点

使用最广泛的是 WGS 1984。

区域基准面:特定区域内与地球表面吻合

大地原点是参考椭球与大地水准面相切的点

我们通常称谓的Beijing54、Xian80坐标系

实际上指的是我国的两个大地基准面

下图黑色实线为地球表面

蓝色为WGS8椭球体

红色虚线为Xian80椭球体

下图做个总结


(二)地图投影

可以简单的理解成就是把球面变成平面的数学过程

用X,Y描述地球上某个点所处的位置

这部分主要是数学变化知识,不做详细讲解



(三)投影坐标系

这个坐标系是通过地图投影,从地球的近似椭球体投影得到的

它对应于某个地理坐标系,平面坐标系统地图单位通常为米 


介绍几个常见的投影坐标

Lambert投影、UTM投影、高斯—克吕格投影

1.Lambert投影

Lambert等角圆锥投影用于小比例的地图投影如1:50万小比例尺

由德国数学家兰伯特(J.H..Lambert)提出

这种投影是将一圆锥面套在地球椭球体外面

将地球表面上的要素投影到圆锥面上

然后将圆锥面元沿着某一条经线展开,即获得Lambert投影

2.UTM投影

UTM投影全称为“通用横轴墨卡托投影”

是等角横轴割圆柱投影(高斯-克吕格为等角横轴切圆柱投影)

圆柱割地球于南纬80度、北纬84度两条等高圈

该投影将地球划分为60个投影带,每带经差为6度

已被许多国家作为地形图的数学基础

3.高斯—克吕格投影

又名"等角横切椭圆柱投影”

以中央经线投影为纵轴(x), 赤道投影为横轴(y)

两轴交点即为各带的坐标原点

纵坐标以赤道为零起算,赤道以北为正,以南为负

我国位于北半球,纵坐标均为正值

横坐标如以中央经线为零起算,中央经线以东为正,以西为负

横坐标出现负值,使用不便

故规定将坐标纵轴西移500公里当作起始轴

凡是带内的横坐标值均加 500公里

由于高斯-克吕格投影每一个投影带的坐标

都是对本带坐标原点的相对值

所以各带的坐标完全相同

为了区别某一坐标系统属于哪一带,在横轴坐标前加上带号

如(22565933m,4231898m),其中22即为带号


投影坐标系的生成是以地理坐标系为基准的

所以每个投影坐标系前面都会挂有地理坐标系

投影坐标系按照坐标值的格式分为有代号和无代号两种

有代号坐标值格式为8-7;(X值是8位,Y值是7位)

无代号坐标值格式为6-7,(X值是6位,Y值7位)

这里说明下,我们平时做项目收集的钻孔数据

或者收集的纸质地图

如果不知道投影坐标的话,可以数位数

如果是8位的话还要关注是3度还是6度带

在高斯—克吕格投影中我国采用6度分带和3度分带

下面分三部介绍这个知识点

①.6度分带和3度分带: 

1∶2.5万及1∶5万的地形图采用6度分带投影

即经差为6度,从零度子午线开始

自西向东每个经差6度为一投影带

全球共分60个带,用1,2,3,4,5,……表示

即东经0~6度为第一带,其中央经线的经度为东经3度

东经6~12度为第二带,其中央经线的经度为9度

1∶1万的地形图采用3度分带

从东经1.5度的经线开始,每隔3度为一带

用1,2,3,……表示,全球共划分120个投影带

即东经1.5~ 4.5度为第1带

其中央经线的经度为东经3度,东经4.5~7.5度为第2带

其中央经线的经度为东经6度

②.当地中央经线经度的计算 

六度带中央经线经度的计算:

当地中央经线经度=6°×当地带号-3°

例如:地形图上的横坐标为18576000

其所处的六度带的中央经线经度为:6°×18-3°=105

三度带中央经线经度的计算:

中央经线经度=3°×当地带号

一个好记的方法:在中华人民共和国陆地范围内

坐标(Y坐标,8位数,前两位是带号)带号小于等于23的肯定是6度带

大于等于24的肯定是3度带

③.只知道经纬度时中央经线的计算

将当地经线的整数部分除以6,再取商的整数部分加上1°

再将所得结果乘以6后减去3°,就可以得到当地的中央经线值

如106°15′00″,用106°/6取整得17°

(17°+1°)*6-3°=105°,即当地的中央经线值为105°

我国的经度范围西起 73度东至135度,可分成6度带十一带

见下表:

我国的经度范围西起 73度东至135度,可分成3度带二十二带

见下表


下图做个总结


(四)我国地形图分幅与编号

为了编图、印刷、保管和使用的方便,必须对地图进行分幅和编号

我国的8种比例尺地形图都是

在1:100万比例尺地图编号的基础上进行的

下面讲解各种比例尺命名方法及编号示例

1.1:100万比例尺地图的编号

1:100万比例尺的编号是“列-行”编号

列:从赤道算起,纬度每4°为一列,至南北纬88°有22列

用大写应为字母A、B、C、……、V表示,南半球加S,北半球加N,由于我国领土全在北半球,N字省略

行:从180°经线算起,自西向东6°为一行,全球分为60行

用阿拉伯数字1、2、3、、……、60表示

一个列号和一个行号就组成一幅1:100万地图的编号

2.1:50万、1:25万、1:10万比例尺地图的编号

三种比例尺地图都是在1:100万地图图号的后面

加上自己的代号形成自己的编号

这三种比例尺地图的代号都是自然序数编号

他们的编号方法属于行列式加自然序数编号,由“列-行-代号”构成。


3.1:5万、1:2.5万、1:1万、1:5千比例尺地图的编号

四种比例尺地图都是在1:10万地图图号的基础上形成的

分为两个分支,一支1:2.5万的图号应由1:5万比例尺地图衍生出来

一支1:5千地图的图号从1:1万比例尺地图衍生出来

而1:1万地图的编号并不和1:5万、1:2.5万比例尺地图发生关系



(五)高程

这部分内容大体了解下我国高程发展历史

新中国建立后,使用的高程基准有

“1956年黄海高程系”和“1985年国家高程基准”

以下内容引用百度百科

“1956年,我国根据基本验潮站应具备的条件,认为青岛验潮站位置适中,地处我国海岸线的中部,而且青岛验潮站所在港口是有代表性的规律性半日潮港,又避开了江河入海口,外海海面开阔,无密集岛屿和浅滩,海底平坦,水深在l0m以上等有利条件,因此,在1957年确定青岛验潮站为我国基本验潮站,验潮井建在地质结构稳定的花岗石基岩上,以该站1950年至1956年7年间的潮汐资料推求的黄海平均海水面作为我国的高程基准面。以此高程基准面作为我国统一起算面的高程系统名谓“1956年黄海高程系统”。

“1956年黄海高程系统”的高程基准面的确立,对统一全国高程有其重要的历史意义,对国防和经济建设、科学研究等方面都起了重要的作用。但从潮汐变化周期来看,确立“1956年黄海高程系统”的平均海水面所采用的验潮资料时间较短,还不到潮汐变化的一个周期(一个周期一般为18.61年),同时又发现验潮资料中含有粗差,因此有必要重新确定新的国家高程基准。

新的国家高程基准面是根据青岛验潮站1952~1979年19年间的验潮资料计算确定,根据这个高程基准面作为全国高程的统一起算面,称为“1985国家高程基准”。所有水准测量测定的高程都以这个面为零起算,也就是以高程基准面作为零高程面。”



(六)磁偏角

什么是磁偏角?

1、是指地球表面任一点的磁子午圈同地理子午圈的夹角

2、地球的磁北方向与真正的地理北方向是有所不同的

3、磁感应罗盘指向的是地磁北方而地图所指示的北方是地理北方

4、地磁的北方与地图所指示的地理北方产生的夹角叫做磁偏角

磁偏角的度数和方向取决于你在世界的哪个地方

5、对于各种各样的罗盘使用者

想要完成精确导航,罗盘必须要调整磁偏角

磁偏角补偿方法:

对目标方位做磁补偿是向西减磁偏角或向东加磁偏角

例如:磁偏角向西偏 23 度,罗盘指针指向 323 度

真正的方位角 = 磁方位角( 323 度) - 磁偏角( 23 度) =300 度


新开项目出野外后

一定要提前校正罗盘

校正时可旋动罗盘的刻度螺旋

使水平刻度盘向左或向右转动

磁偏角东偏则向右,西偏则向左

使罗盘底盘南北刻度线与水平刻度盘0--180度

连线间夹角等于磁偏角

经校正后测量时的读数就为真方位角

需要提出的是我们在网上查询的

例如百度文库里面的各个城市的磁偏角数值

直接用也是不严谨的

如下图磁偏角的值

为什么不能直接用?

因为地球的磁场是在不断变化中的

每时每刻磁偏角都在变

所以我们现在使用的磁偏角过几年就会发生变化

网上查询的只是一个时间段的大体值

如何获取本地最新的磁偏角

有个地方可以查到

美国国家地球物理数据中心历史地磁夹角查询

https://www.magnetic-declination.com/

双击地图上任意一点即可查询实时磁偏角值

比如下图廊坊某地的磁偏角为﹣7°18′(时间为2021年5月7日)


(七)坐标转换

前面讲的都是为第七部分做的铺垫

这部分是重难点,是项目最需要的

接下来我以实际工作为例讲解这部分内容

先思考个问题

同一个点的经纬度值一样吗

很多人认为是一样的

我明确的告诉你同一个点的经纬度值是不一样的

那为什么大家的第一反应是一样的呢

因为我们用的大部分是gps数据测得的

GPS获取的数据如果没有特殊要求

均采用WGS84椭球体

在这个体系下,获得的值肯定一样(排查信号误差)

同理非标准图框下数据也不能直接用

我在16年底矢量化过高吉山项目地形图

当时没有深入研究

就用的是四角坐标定位的

直接将北京54地形图校正西安80标准图框上

工作过几个项目也没人讲过这个事,根本没有不同椭球体的概念

后来慢慢认识到这个问题

不同坐标系下转换要用3参/7参数(常用参数)

这里再给大家纠正一点,举个例子下图操作就是我们平时常用

Mapgsi6.7地图投影变换功能

不同椭球体间的坐标转换直接转换是不对的

(如果只是将5万地图放大到2.5万这样操作没问题)

我们应该怎样做?

我们应该用Mapgis6.7中投影变换模块中的P投影转换

倒数第二个S坐标系转换功能

根据项目获得的三参数或者七参数选择不同的转换方法

说明:Mapgis6.7中不含2000坐标系

可以通过修改Mapgis6.7安装目录下的椭球体文件

用记事本打开

添加2000椭球体的参数

椭球长半轴6378137

扁率倒数298.257222101

可以观察下图右侧2000坐标系与第7个WGS84基本一致

我们在项目实际工作中可以讲wgs84坐标等同国家2000坐标


上面提到了3参数和7参数

先解决什么是3参数和7参数

首先说7参,就是两个空间坐标系之间的旋转,平移和缩放

这三步就会产生必须的7个参数

平移有三个变量Dx,Dy,DZ

旋转有三个变量,再加上一个尺度缩放

这样就可以把一个空间坐标系转变成需要的目标坐标系了

这就是7参的作用

如果说你要转换的坐标系XYZ三个方向上是重合的

那么我们仅通过平移就可以实现目标

平移只需要3个参数,并且现在的坐标比例大多数都是一致的

缩放比默认为一,这样就产生了3参数

3参就是7参的特例,旋转为零,尺度缩放为一


怎么获得该参数(官方)

1、项目组可以在国家基础地理信息中心申请

https://www.webmap.cn/mapDataAction.do?method=forw&resType=3

2、也可以去各省测绘局购买


如果项目没有3参数和7参数怎么办

可以自己去算

怎么算?我研究过方法

这里提供一个思路

例如手里有一张54坐标系的地质图

先读取该标准图幅的图面坐标(经纬度)

然后在野外找到地图上四个框的实际位置,读取实际测量的gps值

用一些测量领域的软件即可计算参数

这里推荐一个我常用的掌上机软件

Hi-Q II Android V1_3_0(中海达)

该软件直接在野外定点,然后手动输入54坐标的四角图框经纬度

即可计算7参数

该软件有强大的定位功能

可以加载Arcgis数据文件、支持实时采集、网络地图等

也有很多坐标系转换,上面说的计算参数野外定点就可以完成

此外支持GPS/SBAS/GLO/BD等众多卫星

可以作为野外用手持端辅助软件



再说一个三角点校正的事情

一个标准5万图幅收集大约3、4个三角点即可

做过区调项目的都知道项目开始前要跑三角点

目的是“修正GPS误差”

以前理解的这个误差是校正掌上机端的误差

参加过的几个项目都是,项目组多个掌上机一起带上野外定点

最后计算求出平均值计算出DX和DY作为校正值

(下图是老版本和新版本的RGMap手持端软件的修改位置)

老版本RGMap

我觉得上面的操作是有问题的

这两年我也问过发展中心的开发人员

为什么要修改DX和DY

他们给我的答复是如果是2000坐标系的话不需要修改

从这个事中在结合我们在前三章讲的坐标系知识

我们可以看出这个其实并不是校正掌上机误差的

以前要修改这个DX和DY是因为掌上机收到的是GPS信号

接受到的是WGS84坐标系下的经纬度值

我们2017年以前的项目用的是西安80坐标系

不是2000的值就必须要修改DX和DY

梳理了这个过程之后

现在的项目确实不需要修改RGMap中的DX和DY

直接默认0即可


简单总结下本篇文章

第一部分讲地理坐标系

讲为了更好的描述地球位置引入三个概念

分别为“大地水准面”、“地球椭球体”、“大地基准面”

这部分简单了解就好

第二部分讲地图投影

球面变成平面的数学过程,不需要掌握

第三部分讲投影坐标系

经过第二部分过程将地球变得可测量可计算的投影平面坐标系

介绍了常见的三个投影坐标系

分别为Lambert投影、UTM投影、高斯—克吕格投影

在高斯—克吕格投影中又讲了6度和3度分带


前三章是基础中的基础

地理坐标系和投影坐标系及其转换

用下面一张图概括


第四部分讲地形图的分幅与编号

这个项目上也经常会遇到,基本的分幅和编号原则还是要知道的

第五部分讲我国高程系统

简单了解下高程系统的发展史

主要是“1956年黄海高程系”和“1985年国家高程基准”

第六部分讲磁偏角

这里纠正我们常用的磁偏角,并且提供一个磁偏角实时查询网站

第7部分讲坐标转换

讲了我以前的错误操作,并解释了为啥是错的,需要怎么做

还有关于不同坐标系转换需要的参数获取的三个来源

1.国家基础地理信息中心官网申请

2.各省测绘局购买三角点和参数

3.提供一个自己计算参数的方法(顺便推荐一个测量软件)


本篇文章内容有些杂

以前我讲过项目应用GIS如果出问题了

绝大多数问题就是坐标系的问题

当你们遇到问题后在来看这篇文章会有更深的认知

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存